home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / Tlen 6.0.1.12 pl / tleninst60112.exe / sdk / TlenSources / plugin / plugin_chatwindow.h < prev    next >
C/C++ Source or Header  |  2006-12-29  |  8KB  |  219 lines

  1. #ifndef plugin_chatwindowH
  2. #define plugin_chatwindowH
  3.  
  4. #include <windows.h>
  5.  
  6. #include "plugin_struct.h"
  7. #include "plugin_contactlist_defs.h"
  8.  
  9. typedef struct {
  10.  
  11.  int structSize;         //wielko£µ struktury w bajtach
  12.  
  13.  HWND Handle;                    //uchwyt okienka
  14.  ContactDef Contact;             //Kontakt z ktorym przeprowadzana jest rozmowa, tudzie┐ adres pokoju konferencyjnego
  15.  
  16.  char *WindowCaption;                   //Tytul okienka
  17.  TlenSingleImageDef WindowIconSmall;    //Ikonka okienka - mala
  18.  TlenSingleImageDef WindowIconBig;      //Ikonka okienka - duza (nie obslugiwana jeszcze)
  19.  
  20.  int Flags;
  21.  TLENFUNCTION CallBackFunc;      //Do przechwytywania zdarzen przez tworce okienka
  22.  
  23.  char *ID;      //Identyfikator chata/konferencji (od wersji API 0.1.6.1)
  24.  char *ShortCaption;                   //krotki tytul, umieszczany np na zakladce w oknie rozmowy
  25.                                        // od API 0.1.8.3
  26.  
  27. } TlenChatWindowInfoDef;
  28.  
  29. #define CHATWINDOW_SHOWFLAG_EMOTICONS                    0x0001
  30. #define CHATWINDOW_SHOWFLAG_PARTNER_INITIATED            0x0002 //rozmowe inicjuje rozmowca
  31. #define CHATWINDOW_SHOWFLAG_NOSOUND                      0x0004
  32. #define CHATWINDOW_SHOWFLAG_ALERTICON                    0x0008
  33. #define CHATWINDOW_SHOWFLAG_TYPINGICON                   0x0010
  34. #define CHATWINDOW_SHOWFLAG_VOICEICON                    0x0020
  35. #define CHATWINDOW_SHOWFLAG_VIDEOICON                    0x0040
  36. #define CHATWINDOW_SHOWFLAG_FILEICON                     0x0080
  37.  
  38. #define CHATWINDOW_SHOWFLAG_CONFERENCE                   0x0100 //pokazuje okno w trybie konferencji
  39. #define CHATWINDOW_SHOWFLAG_NOSHOW                       0x0200 // nie pokazuj
  40. // okna
  41.  
  42. //WPARAM dla CallBackFunc
  43. #define CHATWINDOW_SHOWACTION_DESTROYED                  1
  44.  
  45. //-------------------------------------------------------------------------------------
  46.  
  47. //Zdarzenia - hook pod ktory mozna sie podczepic i przechwytywac zdarzenia w okienkach rozmowy, takze wplywac na wykonanie funkcji
  48. #define TLEN_CHATWINDOW_EVENT         "Tlen/ChatWindow/Event"
  49.  
  50. //WPARAM:
  51. typedef struct {
  52.  
  53.  int structSize;        //wielko£µ struktury w bajtach
  54.  
  55.  TlenChatWindowInfoDef *WindowInfo;
  56.  int EventID;
  57.  
  58. } TlenChatWindowEventDef;
  59.  
  60. #define TLEN_CHATWINDOW_EVENT_AFTERCREATED                   1
  61. #define TLEN_CHATWINDOW_EVENT_BEFOREDESTROYED                2
  62. #define TLEN_CHATWINDOW_EVENT_AFTERCLOSED                    3
  63. #define TLEN_CHATWINDOW_EVENT_AFTEROPENED                    4
  64. #define TLEN_CHATWINDOW_EVENT_BEFOREFLASHBEGIN               5
  65. #define TLEN_CHATWINDOW_EVENT_AFTERFLASHEND                  6
  66.  
  67. // zdarzenia zwiazane z zakladkami w oknie rozmowy
  68. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERCREATED               7
  69. #define TLEN_CHATWINDOW_EVENT_TAB_BEFOREDESTROYED            8
  70. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERCLOSED                9
  71. #define TLEN_CHATWINDOW_EVENT_TAB_AFTEROPENED                10
  72. #define TLEN_CHATWINDOW_EVENT_TAB_BEFOREFLASHBEGIN           11
  73. #define TLEN_CHATWINDOW_EVENT_TAB_AFTERFLASHEND              12
  74.  
  75. /*
  76. #define TLEN_CHATWINDOW_EVENT_BEFOREMSGSHOW                  7
  77. #define TLEN_CHATWINDOW_EVENT_BEFORESETPARAM                 8
  78. #define TLEN_CHATWINDOW_EVENT_BEFORESHOWALERT                9
  79. #define TLEN_CHATWINDOW_EVENT_BEFORESHOWTYPING               10
  80. #define TLEN_CHATWINDOW_EVENT_BEFORESENDTEXT                 11
  81. #define TLEN_CHATWINDOW_EVENT_AFTERTEXTCHANGED               12
  82. #define TLEN_CHATWINDOW_EVENT_AFTERKEYDOWN                   13
  83. */
  84.  
  85.  
  86. //Funkcje
  87.  
  88. // zwraca 1 jesli uzytkownik jest ignorowany w pokoju konferencyjnym
  89. // 0 jesli nie
  90. // w wParam przekazujemy id uzytkownika
  91. #define TLEN_CHATWINDOW_CONF_USER_IGNORED "Tlen/ChatWindow/ConfUserIgnored"
  92.  
  93. #define TLEN_CHATWINDOW_GET_HANDLE            "Tlen/ChatWindow/GetHandle"
  94.  
  95.  
  96. #define TLEN_CHATWINDOW_SHOW            "Tlen/ChatWindow/Show"
  97.  
  98. //WPARAM: TlenChatWindowInfoDef *
  99.  
  100. #define TLEN_CHATWINDOW_SHOWMESSAGE     "Tlen/ChatWindow/ShowMessage"
  101.  
  102. //WPARAM: TlenChatWindowInfoDef * (w nim ContactDef istotne)
  103.  
  104. //LPARAM:
  105. typedef struct {
  106.  
  107.  int structSize;        //wielko£µ struktury w bajtach
  108.  
  109.  char *Name;
  110.  int Size;
  111.  int Color;
  112.  int Flags;
  113.  
  114. } FontStructDef;
  115.  
  116. #define TLEN_FONT_STYLE_BOLD            0x0001
  117. #define TLEN_FONT_STYLE_ITALIC          0x0002
  118. #define TLEN_FONT_STYLE_UNDERLINE       0x0004
  119.  
  120. #define TLEN_FONT_STYLE_APPLY_NAME              0x00010000
  121. #define TLEN_FONT_STYLE_APPLY_SIZE              0x00020000
  122. #define TLEN_FONT_STYLE_APPLY_COLOR             0x00040000
  123. #define TLEN_FONT_STYLE_APPLY_BOLD              0x00080000
  124. #define TLEN_FONT_STYLE_APPLY_ITALIC            0x00100000
  125. #define TLEN_FONT_STYLE_APPLY_UNDERLINE         0x00200000
  126. #define TLEN_FONT_STYLE_APPLY_ALL               0x00FF0000
  127.  
  128. typedef struct {
  129.  
  130.  int structSize;        //wielko£µ struktury w bajtach
  131.  
  132.  char *UserID;
  133.  char *Name;
  134.  
  135.  unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas 
  136.  
  137.  char *Time;
  138.  char *Date;
  139.  
  140.  char *Message;
  141.  
  142.  int Flags;
  143.  
  144. } TlenChatWindowMessageOldDef;
  145.  
  146. typedef struct {
  147.  
  148.  int structSize;        //wielko£µ struktury w bajtach
  149.  
  150.  char *UserID;
  151.  char *Name;
  152.  
  153.  unsigned int TimeStamp; //jesli ponizsze dwa pola sa niewypelnione, to tlen sam sformatuje date i czas 
  154.  
  155.  char *Time;
  156.  char *Date;
  157.  
  158.  char *Message;
  159.  
  160.  int Flags;
  161.  
  162.  //rozszerzona wiadomosc
  163.  FontStructDef UserIDFont;
  164.  FontStructDef NameFont;
  165.  FontStructDef DateFont;
  166.  FontStructDef TimeFont;
  167.  FontStructDef MessageFont;
  168.  
  169. } TlenChatWindowMessageDef;
  170.  
  171. #define CHATWINDOW_MESSAGEFLAG_RECEIVED                 0x0001
  172. #define CHATWINDOW_MESSAGEFLAG_SENT                     0x0002
  173. #define CHATWINDOW_MESSAGEFLAG_OFFLINE                  0x0004
  174. #define CHATWINDOW_MESSAGEFLAG_SYSTEMMESSAGE            0x0008
  175.  
  176. #define CHATWINDOW_MESSAGEFLAG_OVERRIDESHOWEMOS         0x0010
  177. #define CHATWINDOW_MESSAGEFLAG_OVERRIDENOEMOS           0x0020
  178. #define CHATWINDOW_MESSAGEFLAG_HTMLMESSAGE              0x0040
  179. #define CHATWINDOW_MESSAGEFLAG_HTMLBLOCK                0x0080
  180.  
  181. #define CHATWINDOW_MESSAGEFLAG_NOSOUND                  0x0100
  182. #define CHATWINDOW_MESSAGEFLAG_SHOWTIMESTAMP            0x0200
  183. #define CHATWINDOW_MESSAGEFLAG_TEXTFORMATENABLED        0x0400
  184. #define CHATWINDOW_MESSAGEFLAG_SCROLLLOCALIMAGE         0x0800
  185.  
  186. #define CHATWINDOW_MESSAGEFLAG_USEFONT_USERID           0x01000
  187. #define CHATWINDOW_MESSAGEFLAG_USEFONT_NAME             0x02000
  188. #define CHATWINDOW_MESSAGEFLAG_USEFONT_DATE             0x04000
  189. #define CHATWINDOW_MESSAGEFLAG_USEFONT_TIME             0x08000
  190. #define CHATWINDOW_MESSAGEFLAG_USEFONT_MESSAGE          0x10000
  191. #define CHATWINDOW_MESSAGEFLAG_PAGE_ACTIVATE            0x20000 // przelacza
  192. // aktywna zakladke gdzie ma pojawic sie wiadomosc
  193.  
  194. #define TLEN_CHATWINDOW_SETPARAM        "Tlen/ChatWindow/SetParam"
  195.  
  196. //WPARAM: TlenChatWindowInfoDef *
  197.  
  198. //LPARAM:
  199. // zmiana tytulu okna
  200. #define CHATWINDOW_SETPARAM_CAPTION             0x0001
  201. // zmiana ikony okna
  202. #define CHATWINDOW_SETPARAM_ICON                0x0002
  203. // zmiana danych kontaktu
  204. #define CHATWINDOW_SETPARAM_CONTACT             0x0004
  205. // zmiana flag CHATWINDOW_SHOWFLAG_*
  206. #define CHATWINDOW_SETPARAM_FLAGS               0x0008
  207. // zmiana tytulu zakladki
  208. #define CHATWINDOW_SETPARAM_SHORT_CAPTION       0x0010
  209.  
  210. #define TLEN_CHATWINDOW_SHOWTYPINGNOTIFICATION     "Tlen/ChatWindow/ShowTypingNotification"
  211. //WPARAM: TlenChatWindowInfoDef *
  212. //LPARAM: 1 - pokazuje, 2 - chowa
  213.  
  214. #define TLEN_CHATWINDOW_ALERTUSER                  "Tlen/ChatWindow/AlertUser"
  215. //WPARAM: TlenChatWindowInfoDef *
  216. //LPARAM: 1
  217.  
  218. #endif
  219.